home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 2000 February
/
Macworld (2000-02).dmg
/
Updaters
/
ObjectPlant 2.1.6 Updater
/
Object Plant README 2.1.6
next >
Wrap
Text File
|
1999-11-08
|
24KB
|
423 lines
The Object Plant 2.1.6 Updater
Date of Release: 8 November 1999
The Object Plant is a OOA/OOD tool based on the OMT and UML notation. It can be used
to create Object Models, State Diagrams, Event Trace Diagrams and Use Case Diagrams.
The ObjectPlant can also be used to generate C++ or Java code skeletons and/or
documentation on Word 5.1-6.0 RTF format.
C++ and Java code can be reverse engineered (10USD extra per each single license).
The Object Plant Updater folder contents:
- ObjectPlant.updater an updater application for the PowerPC version of the program
can be applied to the following versions: 2.1.3, 2.1.4 and 2.1.5
- 68k ObjectPlant.updater an updater application for the 68k version of the program
can be applied to the following versions: 2.1.3, 2.1.4 and 2.1.5
- Code Generation templates folder which contains a set of files that can be used to
generate different kinds of documents, e.g. code
- C++Template.cc template file for generation of C++ code skeletons
- C++Template.h template file for generation of C++ code skeletons
- C++CWTemplate.cc template file for generation of C++ CodeWarrior specific
code skeletons
- C++CWTemplate.h template file for generation of C++ CodeWarrior specific
code skeletons
- C++SpecialTemplate.cc template file for generation of C++ code skeletons
- C++SpecialTemplate.h template file for generation of C++ code skeletons
- Java template file for generation of Java code skeletons
- HTML Template template file for generation of HTML documentation
- Word 5.1-6.0 template file for generation of documentation in
RTF format suitable for Word 5.1-6.0
- Unsupported templates code generation templates provided by ObjectPlant users
- Register program for creating register forms to be sent to Kagi
Requirements:
System 7.1 or later
68020 or better
3 Mb free RAM
Registering
To register use the Register program to create a register form which then shall be sent
to Kagi Shareware using mail, email or fax.
The price for a single license is 25 USD, there are also site and world licenses available for
500 USD resp. 2000 USD.
The reverse engineering parts of ObjectPlant require separate registering and the price
for a single license is 10 USD, there are also site and world licenses available for
200 USD resp. 800 USD.
http://www.kagi.com
Email: shareware@kagi.com (1 to 3 day processing time delay)
FAX: +1 510 652 6589 (4 to 8 day processing time delay)
Postal address: (4 to 8 day delay plus transit time to Kagi)
Kagi
1442-A Walnut Street PMB #392-MU
Berkeley, California, 94709-1405
USA
Please note that Kagi automatically rejects any electronic payment that come includes
a hotmail.com address. Refer to http://www.kagi.com/FAQs/hotmail.com
N.B. Kagi is a payment processing company and they are not the author/shipper of the
product. Any problems with receiving registration codes or any problems with the product
itself shall be addressed to the author at m-arc@algonet.se or micke@kagi.com
Registration codes will be sent to you normally within a week after receive a
confirmation of your order from Kagi.
Disclaimer
This software is provided "as-is". I take no responsiblity in any damage caused by the
software, use of the software or any of its outputs such as generated code. Use it at
your own risk.
Changes in 2.1.6 (8 November 1999)
• Better drawing of navigation arrows when attached to qualifier boxes.
• License check for CodeRetriever back in business again...
Known Bugs
• The C++ parser does not handle a "long double" operator correctly, i.e.
operator long double() const;
will generate a parsing error.
• The main windows sometimes look "messy". Everything is not erased properly when
moving parts around.
• Moving a set of relationsships and classes can sometimes leave some of the lines
behind.
• If you use code generation, you cannot use the ':' character in class names.
• Line drawing is not very good. When changing between different views lines are not
updated (adjusted) as expected.
• If the "Page Setup" or "Print Page" commands do not work, try selecting a printer
in the chooser.
• Snap to grid is only implemented in the Use Case diagram page.
• Packages cannot be copied.
• EPS output for free text may not be correct. I have no possibility to verify this.
• Using any other font than helvetica may produce strange output when exporting
EPS pictures.
Use the web-page http://www.softsys.se/ObjectPlant/ to get new releases, report bugs etc.
Questions concerning the program can be sent directly to the author
at m-arc@algonet.se or micke@kagi.com
This program should only travel in the complete folder.
Have fun,
Mikael Arctaedius
Stockholm, Sweden
email: m-arc@algonet.se
http://www.softsys.se/ObjectPlant/
Release History
Changes in 2.1.5 (6 November 1999)
• Corrected a problem with parsing structs inside class definitions.
• Corrected a problem with parsing initializers for const attributes in C++.
• Corrected a problem with parsing struct initializers.
• Corrected a problem with parsing template types in operation parameter.
• Better scroll handling in dialog windows and main windows.
• Attributes in an abstract class are now using a normal font, i.e. not italicezed.
• Corrected a problem with associations which sometimes became invisible if the
"Rectilinear lines" preference option was off.
• Corrected problems related to very long strings, for example saving or opening
a file with a very long class description could in previous versions cause a crash.
Also generating code with long strings could cause a crash.
• And much more...
Changes in 2.1.4 (19 May 1999)
• Corrected a problem that could cause windows to become invisible, i.e. they were
positioned outside the screen. Normally all such windows are relocated but due to
a bug in the relocation function, windows above the screen was not correctly relocated.
• Will now import Java code containing anonymous inner classes.
• Corrected yet another set of memory leaks and also added a warning that will
show up when memory is getting dangerously low.
• Increased the stack size for the PowerPC version of ObjectPlant. This will make it
possible to open and save very large models.
• Made a partial implementation for support of templates. Class templates can now be
created in the model and code generated for them also. But the C++ parser does not
import templates correctly as of now.
• Corrected the looks of the dependency arrows in the EPS output.
• Added support for dependency arrows between classes (not reference classes).
Changes in 2.1.3 (24 March 1999)
• Corrected bug related to abstract classes code generation. The abstract keyword
(used in the Java template) was output even though the class wasn't abstract.
• Fixed the problem with invisible (white) text strings in exported pictures (PICT format).
• Perhaps fixed the problem with dashed lines being printed as solid lines. (Can someone
who has had this problem verify this and send me an email?)
• Corrected some other problems (duplicated items) in exported pictures (PICT).
• Corrected some bugs in the Interface dialog. It was mostly related to the new
Code Generation parts which didn't work for Interfaces.
• Corrected another bug related to closing of windows. If you closed the project
window and got the "Do you want to save" question and then answered "Cancel"
all items in the main windows were deleted.
• Corrected a bug which could cause a crash if an item (attribute or operation)
was dragged over the Project Window.
• Corrected a bug that caused ObjectPlant to crash in the Preference dialog if you
were using MacOS 8.1 or earlier.
• Removed a memory leak in the drag-n-drop in dialog windows.
• The document is now marked "dirty" if you do a "Page Setup" or change in the
Document Preferences.
• Added command keys for "Generate Code (All)" and "Generate Code (Selected)".
• Changed the ProjectWindow so that one of the panes (ObjectModel, State Diagram,
EventTrace or Use Case) is active (selected). This makes it possible to add new
pages, delete pages and do print operations (setup and print) with the selected
page when the ProjectWindow is in front.
• Added description fields for operation parameters and exceptions. Also changed the
Java code generation template so that @param and @exception descriptions are output.
• Added the name of the page as a header of printouts.
Changes in 2.1.2 (20 March 1999)
• Corrected the handling operator parameters. Now the parameter type can include
comma characters.
• Corrected yet some more memory leaks related to drag-n-drop in the
Project Window.
• Corrected another problem related to drag-n-drop in the Project Window where
the dragged page was kind of displaced (not placed in the page where it was
supposed to be placed) and that could cause several other strange problems.
• Corrected more memory leaks.
• The operation parameter dialog window and operation exception dialog window
will now remember their positions.
• Corrected a bug that caused a crash when doubleclicking on an exception in the
operation part of the class dialog window.
• Corrected a bug that caused all items in a main window be deleted when the window
was closed using the Close in the File menu.
• Corrected a bug in the About dialog which occured when Internet Config extension
wasn't installed and a document was open.
• Corrected problems related to the Page Setup resources stored in the documents.
• Added new code generation tag {HTMLENCODING}{/HTMLENCODING} that makes it
possible to include non-standard ASCII characters in generated HTML-code
and get the characters correctly coded, e.g. ç => ç and å => å
• Added a "Print All Pages" item in the File menu. It will print all pages having any
content using the individual page setups.
Changes in 2.1.1 (6 March 1999)
• Corrected a bug in Java reverse engineering. Parsing of operation parameters
will now handle arrays properly.
• New Java code generation template which corrects the following problems:
- Added the necessary tags so that a class is declared `abstract'.
- Added the output of exceptions to the VIS_NONE operations.
- Added the necessary tags to the end of each OPERATION clause so that
abstract methods do not put out a "body", but instead simple finish the
declaration with a semicolon.
• Corrected a bug related to parsing C++ code where a constructor's initializer
contained a literal string. This did in previous versions cause the parsing to
be aborted with an error message.
• Generated files will now inherit the template file's colour.
• Added clickable links to my mail-address and ObjectPlant's web-site in the
About dialog.
• Corrected UML notation for static class members. They are now underlined
instead of prepended with the $ character, all in line with the 1.1 version of
the UML notation guide.
• The C++ parser now understands javadoc style comments. This means that
your class, class member comments can be imported into the model
if the are surrounded by /** */.
• Fixed several problems which displaced lines connected to other objects when
the lines weren't rectilinear and the objects and lines were moved.
• Corrected a problem with self-referencing associations and aggregations that
didn't show up in previous versions.
• Changed maximum size of a main window to 1600x1200.
• Corrected a problem with code generation; when a file couldn't be opened because
it was already open by another program, a generated (empty) file wasn't deleted
which it should be since the generation was aborted.
• Error reports in code generation now includes a MacOS error number which will
help identify problems.
• Added support for F1-F4 keys as undo, cut, copy, paste in all text fields and
diagram pages.
• Added support for command-dragging of windows in the background without
bringing the window to the foreground.
• Added a "Find class" and "Find interface" menu command to the Class and Interface
menus. This will activate the page where the class is defined.
• Fixed a bug that changed the system font when importing code.
• Corrected a bug that sometimes made the Add button in the Import Code dialog
active when it shouldn't be and vice versa.
• Corrected some bugs in the Interface dialog. The data/return type popup menu
shall now work correctly and drag-n-drop shall also work correctly.
• Added support for Edit->Cut
• And some other minor bugs have been fixed.
Changes in 2.1 (24 January 1999)
• Corrected a drag-n-drop bug in the project window. This bug caused the program
to hang.
• Corrected a bug that inhibited all further drawing in the Use Case diagram
window after having edited a Use Case name in the main window.
• Corrected some minor updating problem related to free text items.
• Corrected a problem with free text always using helvetica when opening a
document and the "Use System Font" option was enabled.
• Corrected a problem that caused strange behaviour after deleting an item.
If deleted item constrained the possible movement of any other item, the
constraint would remain even though the item was deleted.
• New Word RTF template that also support Word 6.0 RTF format.
• Enhanced the code generation so that it will now be possible to generate
several classes into one common file.
• The code generation should now also be able to generate more {CLASS}
{/CLASS} section outputs, i.e. the code generation will not stop when the
first {/CLASS} tag has been encountered. This was a bug in previous versions.
• Added a "Append set..." button to the data types dialog so that several data
types file may be read without clearing the list every time a new data type
file is read.
Changes in 2.0.5 (12 November 1998)
• Corrected two bugs: one in the preferences dialog and one crash which occured
when doubleclicking on an operations parameter.
Changes in 2.0.4 (11 November 1998)
• Corrected some update problems with Use Cases.
• Corrected bug in code generation. Interface files were stored in the folder above the
specified folder.
• Corrected a crash bug related to importing Java code containing empty
documentation comments.
• Corrected a problem with array arguments when parsing C++ code.
• Corrected a problem with a disappearing Class menu.
• Corrected a crash bug which occured when trying to close all open dialog windows
(option click in the close box of a dialog window).
• Added some keyboard shortcuts for the four main window and also command-up
arrow and command-down arrow to step through the pages in a window.
• Added possibility to select between large and small UML generalization arrows.
• Handles of a line can now be removed using the cut-tool. Option-click on a handle
to remove it.
• Added a preference option to be able to select if lines (association, generalization,
dependency etc) shall be created rectilinear or oblique.
• Added possibility to cut dependency, use case and actor generalization lines.
• Added possibility to specify if the attributes and operations shall be displayed in
a reference class. This is an option in the Object Model section of the preferences
dialog. You can specify that for a certain view either all/selected/none
attributes/operations shall be displayed in reference classes. If the "selected"
option is active, you can select for each reference class if it shall show or hide
the attributes/operations. This is selected by uisng the select tool and option
click on the reference class. A popup-menu will appear where you can select to
hide or show the attributes/operations.
• And much more...
Changes in 2.0.3 (3 October 1998)
• Added support for parsing C++ exception specifiers.
• Added support for inheritance between actors in use case diagrams.
• Added support for type conversion operators, eg:
operator int();
• Added support for parsing of the namespace keyword. When a namespace keyword
is parsed, a corresponding package will be created (remember to change the
"create package" preference option if you are using namespaces).
• Added auto-scrolling for drag-n-drop in the left pane of the class and interface
dialog windows.
• Added possibility to automatically include all implemented operations in a
class implementing an interface.
• Added the possibility to define a set of identifiers which will be ignored when
parsing code. This can be useful to exclude macros which have no meaning for
the class definition, for example the EXPORT_MA and INIT_FMESSAGE macros
used in all MacApp class headers.
• Corrected C++ parsing of operations returning a namespace qualified type.
• Corrected a bug that could cause ObjectPlant freezing when changing the
size of the project window.
• Corrected the parsing of structs within class definitions.
• Expanded the stack in the 68k which should reduce the risk of crashing due to
stack colliding with the heap.
• Corrected another problem with the 68k version. When loading large data type
files ObjectPlant sometimes crashed.
• Corrected a problem that occured after saving a file. Then the wrong resource
file was used which could result in strange errors, for example the help dialog
was empty when being displayed.
• Corrected quite a few problems with the C++ parser.
• And much more...
Changes in 2.0.2 (18 September 1998)
• Added more support for C++ template types. This means that template types will
be parsed correctly even when inherited but templates themselves are still not
supported.
• Corrected a bug that related to importing (reverse engineering) Java comments.
If the comment started on the same line as the /** an error occured causing a
break into MacsBug or if you don't have it installed, ObjectPlant crashed.
• Corrected a bug which could cause a crash when using reference items (class
references or interface references).
• Corrected a giant memory leak which slowly degraded the performance.
• The dialog windows are now resizable but not all fields in the dialogs
respond to the changed size.
• Corrected a bug when parsing java comments related to constructor methods.
• And much more...
Changes in 2.0.1 (7 September 1998)
• Added support for C++ template types. This means that template types will be parsed
correctly but templates themselves are still not supported.
• Added support for reverse enginnering of Java comments. Class, operation and attribute
descriptions within a /** */ comment will be parsed and added to the object model.
• Corrected a problem with a blinking cursor in the Event Trace diagram.
• Corrected a bug that resulted in a "Syntax error" dialog when parsing C++ code
with namespace qualifiers, e.g. void function( ClassA::MyType par1 );
• Java class initializers will now be parsed correctly and not generate a "Syntax error".
• It should now be easier to select and move lines, and in particular to "grab"
the handles of a line.
• New code generation templates for Class.java and C++Template.cc (also separately
released on the web-site).
• Corrected a bug that made the "Import code..." file dialog show up without displaying
either *.h, *.hpp or *.java files.
• Made the file filtering in the Import code dialog case independent.
• Added the lost "By Value" checkbox in the aggregation dialog window.
• Corrected problem in Java parser when extending class by their full path, e.g.
extends awt.Component instead of extends Component. In the latter case a class
named awt.Component was created instead of a class Component in the package awt.
(This goes for the implements statement too.)
• And much more...
Changes in 2.0 (24 August 1998)
• Added C++ and Java reverse engineering. Handles version 1.1 of Java but ignores inner
classes.
• Corrected a bug that caused documents to be corrupted when read into ObjectPlant.
The bug is now fixed, but your documents may still be corrupt if saved after
ObjectPlant had corrupted it. If you have any problems with a document, email it
to me and I'll try to fix it manually.
• Changed the Page Palette into an ordinary Project window listing the pages of all four
diagrams. Closing the Project Window closes the project.
• Made it possible to change the heirarchy of packages.
• Extended Use Case diagrams. Now you can add extension points to a use case.
• Corrected a bug that could cause a crash when creating new documents (File->New)
or when opening old documents (File->Open...).
• Added an option to get type popupmenus sorted (a quick sort performed only on the
first four letters of each word).
• Added an option to get type popupmenus to include all classes defined in the document.
• Corrected the looks of the supplier relation (between a class and an interface).
Now it conforms to UML 1.1 using a generalization arrow.
• Added more small icons (for MacOS 8.5).
• Code generation templates: several instances of the USERCODE tag can now be included
in a code generation template.
• Changed the line drawing algorithm for generalizations, aggregations, associations and
supplier relations. A generalization, aggregation, association and supplier relation can
now be forced to be rectilinear (checkbox in dialog window). If a generalization,
aggregation, association and supplier relation is rectilinear when opening an old file,
the rectilinear checkbox will be set automatically.
• New Java templates that make use of the SYNCHRONIZED tag.
• In abstract classes operations are written in italics only if the operation is abstract.
(This is not yet true for EPS exported pictures.)
• Moved some preferences from being application based to document (project) unique.
• Changed behaviour of the attribute's initializer field (in the class dialog) so that it
scrolls when moving outside of the edit field.
• Added a new code generation tag {REVERSEDEEPANCESTORLIST}. It does basically the
same as the {DEEPANCESTORLIST} but lists the hierarchy the other way round.
• Added a "Continue All" button in the alert warning for a template file that is
younger than the generated file.
• Added a new tag {IMPLEMENTS}{/IMPLEMENTS} that can be used for Java to automatically
generate methods for implemented interfaces. This means that you don't explicitly need
to define these methods in the class to have them generated.
• Added support for Navigation Services (PowerPC only).
• Corrected a bug that caused the preview of exported EPS files not always be stored in
the same folder as the EPS file itself.
• Changed the way the supplier tools works. It will now be consistent with the
generalization tool. You should start pointing to the class and draw a line to
interface and then release the mouse button.
• Corrected a bug related to importing data tupes.
• Added two new data type files, one for Java and one for Mac types.
• The in/out IDL information shall now be visible for both class and interface
operation parameters.